Program-disturb management for phase change memory

ABSTRACT

Methods, systems, and devices related to memory, including read or write performance of a phase change memory, are described. A plurality of memory cells of a memory array may be read. A total number of read errors resulting from the read operation of the plurality of memory cells may be determined, and reference read currents may be adjusted if the total number of read errors exceeds an error threshold. In some examples, adjusting reference read currents includes reading a reference memory cell, determining a current shift for the reference memory cell, and adjusting read currents for other memory cells of the memory array by a current delta based at least in part on the current shift.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation of U.S. patent applicationSer. No. 13/474,609, which was filed on May 17, 2012, and which isincorporated by reference herein in its entirety.

BACKGROUND

1. Field

Subject matter disclosed herein relates to a memory device, and moreparticularly to read or write performance of phase change memory.

2. Information

Phase change memory (PCM) may operate based, at least in part, onbehavior and properties of one or more particular phase changematerials, such as chalcogenide alloy and/or germanium antimonytelluride (GST), just to name a few examples. Crystalline and amorphousstates of such materials may have different electrical resistivities,thus presenting a basis by which information may be stored. Theamorphous, high resistance state may represent a stored first binarystate and the crystalline, low resistance state may represent a storedsecond binary state. Of course, such a binary representation of storedinformation is merely an example: Phase change memory may also be usedto store multiple memory states, represented by varying degrees of phasechange material resistivity, for example.

A PCM memory cell may transition from an amorphous state to acrystalline state by applying a bias signal to the memory cell.Characteristics of a bias signal, such as peak magnitude and/or pulsewidth, for example, may be selected to allow a transition to acrystalline state.

Nonvolatile memory devices, such as PCM, may comprise wordlines andbitlines to program an array of memory cells. As density of memory cellsin an array increase, distances between adjacent wordlines or bitlinesmay decrease. Decreased spacing among wordlines or bitlines may lead toundesirable effects, such as capacitive coupling, crosstalk, orproximity-disturb, just to name a few examples.

BRIEF DESCRIPTION OF THE FIGURES

Non-limiting and non-exhaustive embodiments will be described withreference to the following figures, wherein like reference numeralsrefer to like parts throughout the various figures unless otherwisespecified.

FIG. 1 is a schematic diagram of a portion of a memory array, accordingto an embodiment.

FIG. 2 is a schematic diagram of an arrangement of program bits onadjacent wordlines, according to an embodiment.

FIG. 3 is a schematic diagram illustrating a plurality of memory arrayportions, according to an embodiment.

FIG. 4 is a schematic diagram illustrating features of memory arrayportions, according to an embodiment.

FIG. 5 is a plot of characteristics of reference current values,according to an embodiment.

FIG. 6 is a flow diagram of a program process for a memory array,according to an embodiment.

FIG. 7 is a flow diagram of a process to correct erroneous programstates, according to an embodiment.

FIG. 8 is a flow diagram of a process to correct erroneous programstates, according to another embodiment.

FIG. 9 is a schematic diagram illustrating an exemplary embodiment of acomputing system.

DETAILED DESCRIPTION

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment of claimed subject matter. Thus, theappearances of the phrase “in one embodiment” or “an embodiment” invarious places throughout this specification are not necessarily allreferring to the same embodiment. Furthermore, the particular features,structures, or characteristics may be combined in one or moreembodiments.

A memory array comprising PCM cells may be programmed using wordlines orbitlines that provide electrical programming pulses or signalsrepresenting one-bits or zero-bits in individual PCM cells. While onewordline may be used to program one row of PCM cells, an adjacentwordline may be used to program an adjacent row of PCM cells. Adjacentrows of PCM cells may be spaced apart to provide structural, electrical,or thermal insulation between the adjacent rows. However, as the densityof PCM cells in an array increase, spacing between adjacent rows of PCMcells may decrease, thus reducing the amount of available semiconductormaterial providing thermal insulation between the adjacent rows. Amongother things, thermal contact among PCM cells may undesirably lead to anincreased likelihood that a state of one PCM cell may be disturbed bythe state of a neighboring PCM cell. A PCM cell thermally affecting astate of another PCM cell may be called a “proximity-disturb” event,which may include a “program disturb” event or a “read disturb” event,depending on whether a program process or a read process is involved.For example, a zero-bit of a PCM cell may be cyclically re-programmedwith a particular frequency in a process of refreshing the state of thePCM cell. Such re-programming a zero-bit may comprise applying arelatively high amplitude electrical programming pulse or signal so asto melt and then cool phase change material of the PCM cell, asmentioned above. A process of melting phase change material of the PCMcell, however, may inadvertently add heat to one or more neighboring PCMcells. A neighboring PCM cell nearest the re-programmed PCM cell may beaffected more than other neighboring PCM cells. In one implementation, aneighboring PCM cell nearest the re-programmed PCM cell may be locatedin a wordline adjacent to a wordline of the re-programmed PCM cell.Thus, a neighboring PCM cell located in a wordline adjacent to awordline of the re-programmed PCM cell may be program-disturbed by there-programming process of the neighboring PCM cell. As the frequency ornumber of times of refreshing the state of a PCM cell increases, so maythe likelihood of occurrence of a program-disturb event, induced byincreasing ambient temperatures of a memory array, for example.

PCM cells in a zero-bit, amorphous state may be more susceptible toeffects of a program-disturb event compared to PCM cells in a one-bit,crystalline state. Such effects may change a PCM memory cell in azero-bit state to a one-bit state or vise versa. For example, aprogram-disturb event may erroneously change a state of a PCM cell froma zero-bit state to a one-bit state. This may be true, at least in part,because an amorphous state may comprise a meta-stable state with respectto a relatively stable crystalline state. Additional energy applied tosuch an amorphous state (via thermal or electrical energy, for example)may accelerate a crystallization process. Such additional energy maycomprise ambient thermal energy from neighboring PCM cells beingrepeatedly programmed, as mentioned above. In this case, heat generatedduring programming operation of neighboring PCM cells may diffuse fromthe neighboring PCM cells to accelerate crystallization of another PCMcell in a zero-bit, amorphous state. In another implementation, aread-disturb event may occur if a PCM cell is read many times during arelatively short period of time to create excess heat.

Embodiments described herein may include processes or electronicarchitecture to correct program states stored in one or more cells of amemory array. For example, program states of a portion of a memory arraymay be erroneously changed by a program-disturb event brought about, atleast in part, by programming a neighboring portion of the memory array.In one implementation, correcting program states erroneously changed bya program-disturb event may be preceded by a process of determiningwhether a proximity-disturb event has occurred. Such a process, forexample, may include programming a first known sequence of bits to afirst reference portion of a memory array and programming a second knownsequence of bits to a second reference portion of the memory array. Ifdata is to be programmed in the memory array, such a process may furtherinclude re-programming the second known sequence of bits in the secondreference portion while programming the data. The first known sequenceof bits in the first reference portion may be read to detect any biterrors in the first known sequence of bits in the first portion.Detecting such errors may indicate a likelihood as to whether the firstknown sequence of bits in the first reference portion isproximity-disturbed by effects of re-programming the second referenceportion may then be determined. The first reference portion may belocated physically adjacent to the second reference portion so as to besusceptible to proximity-disturb effects from the second portion. Here,one portion of memory being “physically adjacent” to another portion ofmemory means that there are no intervening wordlines present between theadjacent portions of memory. Optionally, “physically adjacent” may meanthere are approximately one or two wordlines present between theadjacent portions of memory. In one implementation, a first referenceportion may be located in one memory block and the second referenceportion may be located in another memory block, though claimed subjectmatter is not limited in this respect. In another implementation, afirst reference portion may be located in one memory buffer and a secondreference portion may be located in another memory buffer, thoughclaimed subject matter is not limited in this respect. A memory buffermay comprise a program buffer that may be included in a memory devicethat also includes a memory array. In one implementation, a memorybuffer may comprise a portion of a memory array. Such a memory buffermay comprise memory to temporarily store a plurality of bits during aprocess of writing the bits to a memory array, for example. Of course,such details of a memory buffer are merely examples, and claimed subjectmatter is not so limited.

In an embodiment, a process to correct erroneous program states storedin one or more cells of a memory array may comprise measuring a shift ofcell current for a particular reference voltage to read one or moreneighboring reference cells. For example, a proximity-disturb event maybring about, at least in part, such erroneous program states.Neighboring reference cells may be located in a memory array so as to besimilarly affected by the same proximity-disturb events that affectedthe one or more cells of a memory array. Thus, neighboring referencecells may also store erroneous program states. However, neighboringreference cells may have previously stored a known sequence of bits.Differences, or current “deltas”, between currently measured referencecell states and values at which reference cell states were originallyprogrammed may be determined. Such current deltas may be added to orsubtracted from read currents of PCM cells for individual read-currentsteps, as described below, for example. Adjusting read currents byadding or subtracting current deltas may allow for compensating forproximity-disturb effects.

In one implementation, a counter value may be stored in some location ofa memory array, wherein the counter value may represent a number oftimes that a particular portion of the memory array is programmed orre-programmed. In such a case, reading a first known sequence of bits inthe first portion to detect any bit errors may be performed in responseto a counter value exceeding a threshold number. As mentioned above,such detected bit errors may indicate a likelihood as to whether a knownsequence of bits in a reference portion of the memory array isproximity-disturbed. Accordingly, such a likelihood may be based, atleast in part, on such a counter value. In another implementationdetermining likelihood as to whether a known sequence of bits in areference portion of a memory array is proximity-disturbed may beperformed in response to exceeding a threshold bit error rate (BER), asexplained below. In yet another implementation, reading a first knownsequence of bits in a first portion to detect any bit errors may beperformed in response to exceeding a threshold BER.

In an embodiment, a non-volatile memory device may include an ability tocorrect program states stored in one or more cells of a memory array.For example, program states of a portion of a memory array may beerroneously changed by a program-disturb event brought about, at leastin part, by a neighboring portion of the memory array being programmed.In one implementation, correcting program states erroneously changed bya program-disturb event may be preceded by a process of determiningwhether a proximity-disturb event has occurred. For example, a memorydevice may comprise a controller to program a first known sequence ofbits in a first reference portion of a memory array, program a secondknown sequence of bits in a second reference portion of the memoryarray, re-program the second known sequence of bits in the secondreference portion while programming data to the memory array, anddetermine a likelihood as to whether the first known sequence of bits inthe first reference portion is proximity-disturbed by there-programming. Such a first reference portion may be located in oneprogram buffer and such a second reference portion may be located inanother program buffer, wherein the first reference portion may belocated physically adjacent to the second reference portion. For amemory cell storing at least one of a known sequence of bits in a firstreference portion of a memory array a controller may measure a shift ofcell current for a particular reference voltage to read the memory cell.A controller may further adjust a particular reference voltage to readat least one additional memory cell, wherein the adjusting may be based,at least in part, on the measured shift of cell current. In oneimplementation, a controller may store a counter value in a memory arrayor in a location external to the memory array, for example, wherein sucha counter value may represent a number of times that the memory array isprogrammed or re-programmed. Such a counter value may be used, amongother things, to determine likelihood as to whether a known sequence ofbits in a reference portion of the memory array is proximity-disturbed.Such a memory array, which may comprise a PCM array, may be incorporatedin at least one of the following: a desktop computer, a laptop computer,a workstation, a server device, a personal digital assistant, a mobilecommunication device, or any combination thereof, though claimed subjectmatter is not so limited.

FIG. 1 is a schematic diagram of a portion of a memory array 100,according to an embodiment. For example, a memory device may comprisememory array 100 and address decoding circuitry (not shown) to read fromor write to selected memory cells via bitlines or wordlines. Memorycells 150 may be connected at intersections of wordlines and bitlinesand may be selectively addressed by the wordlines or bitlines. Forexample, memory cell 155 may be programmed to be in a zero-bit state byplacing a zero-bit on wordline WL1 in a bitline BL1 position. Similarly,memory cell 157 may be programmed to be in a one-bit state by placing aone-bit on wordline WL2 in a bitline BL1 position. In another example,FIG. 1 shows wordline WL3 with bits 0-1-0-1 in bitline positions BL1,BL2, BL3, and BL4, respectively. Memory cells 150 may comprise PCMcells, though claimed subject matter is not so limited.

In an embodiment, adjacent wordlines in memory array 100 may bephysically spaced apart by two different distances. For example,adjacent wordlines WL9 and WL10 may be spaced apart by a distance D1,while adjacent wordlines WL8 and WL9 may be spaced apart by a distanceD2. The different spacing distances may be determined, at least in part,from fabrication architecture of a semiconductor memory device thatincludes memory array 100, for example. Thus, adjacent wordlines may bephysically grouped in pairs with an inter-pair spacing of distance D1,whereas such pairs of wordlines may be spaced apart a distance D2.Referring to FIG. 1, for example, adjacent wordlines WL1 and WL2comprise a wordline pair separated by a distance D1, adjacent wordlinesWL3 and WL4 comprise a wordline pair separated by a distance D1,adjacent wordlines WL5 and WL6 comprise a wordline pair separated by adistance D1, adjacent wordlines WL7 and WL8 comprise a wordline pairseparated by a distance D1, and adjacent wordlines WL9 and WL10 comprisea wordline pair separated by a distance D1. In contrast, wordline WL2and wordline WL3, though they are adjacent to one another, may beseparated by a distance D2, which may be greater than inter-pair spacingdistance D1. To continue the example, wordline WL4 and wordline WL5 maybe separated by a distance D2, wordline WL6 and wordline WL7 may beseparated by a distance D2, and wordline WL8 and wordline WL9 may beseparated by a distance D2.

As mentioned above, thermal contact among PCM cells may lead to aprogram-disturb event, wherein a state of one PCM cell may be disturbedby the state of a neighboring PCM cell. A neighboring PCM cell nearestthe re-programmed PCM cell may be affected more than other neighboringPCM cells. In one implementation, a neighboring PCM cell nearest there-programmed PCM cell may be located in a wordline adjacent to awordline of the re-programmed PCM cell. Thus, a neighboring PCM celllocated in a wordline adjacent to a wordline of the re-programmed PCMcell may be program-disturbed by the re-programming process of theneighboring PCM cell. In memory array 100, for example, memory cellsincluded in wordlines of a wordline pair may be physically near oneanother so as to be affected by a program-disturb event. Morespecifically, memory cells included in wordlines of a wordline pairalong a same bitline may be physically near enough to one another so asto be affected by a program-disturb event. On the other hand, memorycells included in wordlines of different wordline pairs, even if on asame bitline, may be physically separated enough so as to not besubstantially affected by a program-disturb event. Returning to FIG. 1,for example, memory cells in memory cell pair 110 may program-disturbone another, whereas memory cells in memory cell pair 120 need notprogram-disturb one another.

As discussed above, PCM cells in a zero-bit, amorphous state may be moresusceptible to effects of a program-disturb event compared to PCM cellsin a one-bit, crystalline state. For example, memory cells in zero-bitstates in memory cell pair 110 may program-disturb one another, whereasmemory cells 155 and 157 in zero-bit and one-bit states, respectively,need not program-disturb one another.

In one implementation, PCM cells in adjacent wordlines of wordline pairsmay be more susceptible to effects of a program-disturb event comparedto PCM cells in a same wordline and adjacent bitlines. Such effects maychange a PCM memory cell in a zero-bit state to a one-bit state or viseversa. For example, memory cells in memory cell pair 130 need notprogram-disturb one another, even though the adjacent memory cells mayboth be in zero-bit states.

FIG. 2 is a schematic diagram of an arrangement of program bits onadjacent wordlines, according to an embodiment. FIG. 2 may depict amemory array similar to that of FIG. 1, but without explicitly showingmemory cells, wordlines, and bitlines. For example, in FIG. 2, awordline WL(i) (i comprises an integer) may have bits 0-1-0-0-1-0-1-0 onconsecutive bitlines, such as BL1, BL2, BL3, and so on, shown in FIG. 1.An adjacent wordline WL(j) may have bits 0-1-1-1-1-0-1-1 on the sameconsecutive bitlines as for WL(i). As discussed above, PCM cells in azero-bit, amorphous state may be more susceptible to effects of aprogram-disturb event compared to PCM cells in a one-bit, crystallinestate. Also, PCM cells in adjacent wordlines may be more susceptible toeffects of a program-disturb event compared to PCM cells in a samewordline and adjacent bitlines. Thus, zero-bit pair 210, comprising zerobits on a same bitline and adjacent wordlines WL(i) and WL(j), may leadto an undesirable program-disturb event. As another example, zero-bitpair 220, comprising zero bits on a same bitline and adjacent wordlinesWL(i) and WL(j), may also lead to an undesirable program-disturb event.However, in another example, zero-bit pair 230, comprising zero bits ona same wordline WL(i) but adjacent bitlines, need not lead to aprogram-disturb event. Accordingly, as discussed above, it may bedesirable to arrange a particular order of one-bits and zero-bits to bewritten to memory cells in two adjacent wordlines at a time.

FIG. 3 is a schematic diagram illustrating a plurality of memory arrayunits 300, according to an embodiment 300. For example, memory arrayunits 300 may comprise a portion of memory array 100 shown in theembodiment of FIG. 1. Such a plurality of memory array units maycomprise a block, a page, a partition, or any other-sized portion of anarray of memory cells, for example. Nine such memory array units 300 areshown in FIG. 3, but claimed subject matter is not limited to anyparticular size. For example, 3-dot symbols 301 indicate any number ofmemory array units 300 may extend in any direction. In oneimplementation, any of memory array units 300 may comprise a programbuffer. Individual memory array units 300 may comprise an array portionto store data and one or more border portions that may be used to storereference bits, as discussed below. Data may comprise a plurality ofbits to be stored memory array units. Border portions in a memory arrayunit may be physically adjacent to other border portions in neighboringmemory array units. For example, memory array unit 310 may comprisearray portion 311 and border portions 312, 314, 316, and 318, forexample. For a particular example, memory array unit 310 may includeborder portion 316 that is physically adjacent to border portion 332 ofmemory array unit 330, and vise versa. Similarly, memory array unit 310may include border portion 314 that is physically adjacent to borderportion 321 of memory array unit 320, and vise versa. Memory array unit310 may also include border portions 312 and 318 that are physicallyadjacent to border portions of neighboring memory array units not shownin FIG. 3, for example. As explained below, such border portions ofneighboring memory arrays may program-disturb one another.

FIG. 4 is a schematic diagram illustrating a close-up view of memoryarray units 310 and 330 of the embodiment shown in FIG. 3. As discussedabove, heat generated during programming operations of neighboring PCMcells may diffuse from the neighboring PCM cells to acceleratecrystallization of other PCM cells in a zero-bit, amorphous state. Thus,a program-disturb event may occur if a PCM cell is programmed orre-programmed many times (e.g., tens or thousands of times or more)during a relatively short period of time (e.g., seconds or minutes) tocreate excess heat. Thus, for example, program states of at least aportion of a memory array unit 310 may be erroneously changed by aprogram-disturb event brought about, at least in part, by programming aneighboring portion of an adjacent memory array unit. For a particularexample, program states of a border portion 316 or memory array portion311 of memory array unit 310 may be erroneously changed by aprogram-disturb event brought about, at least in part, by programming aneighboring border portion 332 or memory array portion 431 of adjacentmemory array unit 330. In this case, heat 450 generated duringprogramming operations of PCM cells in memory array unit 330 (e.g.,portions 332 or 431) may diffuse from the PCM cells to acceleratecrystallization of neighboring PCM cells in memory array unit 310 thatcomprise a zero-bit, amorphous state.

In an embodiment, a border portion of memory that may beprogram-disturbed is called a “potential victim” (PV) reference portionand a neighboring border portion of memory of which programming may leadto the program-disturb is called an “aggressor” reference portion. Thus,in the example above, program states of PV reference portion 316 may beerroneously changed by a program-disturb event brought about byprogramming aggressor reference portion 332. In one implementation,correcting program states of memory array unit 310 erroneously changedby a program-disturb event may be preceded by a process of determiningwhether a proximity-disturb event has occurred. Such a process, forexample, may include programming a first known sequence of bits in PVreference portion 316 of memory array unit 310 and programming a secondknown sequence of bits in aggressor reference portion 332 of memoryarray unit 330. Such a process may further include re-programming thesecond known sequence of bits in aggressor portion 332 if data is to beprogrammed in other portions 431 of memory array unit 330. A likelihoodas to whether the first known sequence of bits in the PV referenceportion is proximity-disturbed by effects of re-programming theaggressor reference portion may then be determined. The PV referenceportion may be located physically adjacent to the aggressor referenceportion.

In a counter example, program states of border portion 332 of memoryarray unit 330 may be erroneously changed by a program-disturb eventbrought about by programming neighboring border portion 316 of adjacentmemory array unit 310. Thus, in this example, border portion 332comprises a PV reference portion and border portion 316 comprises anaggressor reference portion of a memory array, wherein program states ofPV reference portion 332 may be erroneously changed by a program-disturbevent brought about by programming aggressor reference portion 316.

As mentioned above, a first known sequence of bits may be programmed inPV reference portion 316 of memory array unit 310 and a second knownsequence of bits may be programmed in aggressor reference portion 332 ofmemory array unit 330. Such PV and aggressor reference portions maycomprise PCM cells to store memory cell states for an extended period oftime, such as a few seconds or a few years. For example, PV referenceportion 316 may comprise PCM cells to store one or more known referencestates programmed at the same time that memory array portion 310 isprogrammed. Similarly, aggressor reference portion 332 may comprise PCMcells to store one or more known reference states programmed at the sametime that memory array portion 330 is programmed. Such reference states,for example, may comprise a particular pattern of states. In oneimplementation, PV or aggressor reference portions 316 and 332 maycomprise a relatively small number of PCM cells compared to the numberof PCM cells included in memory array portions 310 and 330. For example,aggressor reference portion 332 may comprise eight PCM cells to storeeight reference states, whereas memory array portion 431 may comprise256 k or so PCM cells. Also, PV reference portion 316 may comprise eightPCM cells to store eight reference states. Such reference states inaggressor reference portion 332 may comprise a known pattern of statesprogrammed at the same time as programming data into memory arrayportion 431. Such a known pattern of reference states may allow for atechnique to compensate for program-disturb on PCM cell states in memoryarray portion 311. Such a technique, for example, may take advantage ofa fact that program-disturb changes that occur to PCM cells of memoryarray portion 311 may also occur to reference cells of PV referenceportion 316. Further, since reference cells of PV reference portion 316may comprise a known pattern of states, a determination may be made asto the amount by which a distribution of PCM cell states of memory arrayportion 311 changed while programming memory array portion 431. Ofcourse, such details of PCM reference cells and a memory array aremerely examples, and claimed subject matter is not limited in thisrespect.

In an embodiment, PCM cells may be programmed with any one of two ormore logic levels based, at least in part, on one or more thresholdreference voltages or threshold reference currents that separate the twoor more states or logic levels. Accordingly, logic levels stored in PCMcells may be subsequently read and determined based, at least in part,on the same one or more threshold reference currents used to previouslyprogram the PCM cells. In particular, reference currents may be used asthresholds to which a cell current during a read process of a PCM cellis compared. A cell current during a read process may result by applyinga voltage across a PCM cell so that the cell current during the readprocess may depend, at least in part, on a resistance of the PCM cell.Accordingly, the state or logic value of a PCM cell, e.g., level ofresistance, may be determined by comparing such a cell current duringthe read process to threshold reference currents. However, cell currentfor a particular voltage applied across a PCM cell may drift or changein response to temperature changes of the PCM cell. Such temperaturechanges may be brought about, at least in part, by proximity-disturbfrom read or program processes of neighboring PCM cells, for example.Because cell currents corresponding to stored logic levels may vary fromproximity-disturb effects while threshold reference currents remainunchanged, a comparison of the cell and reference currents may lead tomisreading of logic levels stored in the memory cells. As discussedabove, embodiments may include techniques that adjust reference currentsby adding or subtracting current deltas to allow for compensating forproximity-disturb effects.

FIG. 5 shows a plot of characteristics of reference current values,according to an embodiment. For example, read current 524 of step N=1may correspond to a read current of one micro-amp, read current 526 ofstep N=2 may correspond to a read current of two micro-amps, and so on.Of course, such particular values of read currents are merely examples,and claimed subject matter is not limited in this respect. Moreover, inan embodiment, values of individual read currents may be adjusted overtime to compensate for memory cell threshold voltage for one or moreparticular states of memory cells that may change from proximity-disturbeffects.

Current deltas may be added or subtracted to/from read currents of PCMcells for individual read-current step numbers N. For a particularnumerical example, referring to FIG. 5, differences between currentlymeasured reference cell states (e.g., possibly altered byproximity-disturb effects) and values at which reference cell stateswere originally programmed may be determined to be 100 nano-amps (nA)for N=2, 200 nA for N=3, zero for N=4 through 8, −200 nA for N=9, and soon. In one implementation, such current deltas may be stored in a memoryand applied at a later time to another cell read process, for example.To illustrate another particular example, for a particular voltageapplied to a PCM cell for step N=3, a resulting read current may beabout 3.6 micro-amps. In accordance with a measured current delta of 200nA for N=3, 200 nA may be subtracted from the read current of 3.6micro-amps so that a modified read current equals 3.4 micro-amps. Aftersuch a subtraction, the decrease of the modified read current maycompensate for the fact that reference currents, which may be used asstate threshold values to which the modified read currents of PCM cellsare compared, may have drifted or changed over time from their originalvalues at program time. For example, the current threshold between azero-bit and a one-bit may be defined to be 3.5 micro-amps. With no readcurrent compensation, a drift of state distribution over time may resultin an erroneous shift of the memory cell from the zero-bit (e.g., thememory cell read current originally being 3.4 micro-amps for N=3 atprogram time) to the one-bit (e.g., the memory cell read currentpresently being 3.6 micro-amps for N=3 after drift). On the other hand,compensating a memory cell read current using stored current deltas mayreduce the memory cell read current by 200 nA. Thus a modified readcurrent may equal 3.4 micro-amps, which is within the range of azero-bit, so that a drifting state distribution did not lead to achanged stored state of the memory cell. Of course, such details of aprocess to compensate for a changing state distribution are merelyexamples, and claimed subject matter is not so limited.

FIG. 6 is a flow diagram of a program process 600 of a memory array,according to an embodiment. As mentioned above, program states of aportion of a memory array may be erroneously changed by aprogram-disturb event brought about by programming a neighboring portionof the memory array. In one implementation, correcting program stateserroneously changed by a program-disturb event may be preceded by aprocess, such as process 600, of determining whether a proximity-disturbevent has occurred. Process 600, for example, may include block 610,where a first known sequence comprising PV bits may be programmed in afirst reference portion of a memory array. In one implementation,process 600 may be applied to a portion of memory such as memory 310 and330 shown in FIG. 4. Thus, a first known sequence comprising PV bits maybe programmed in a PV reference portion 316 of memory array 310.Similarly, at block 620, a second known sequence comprising aggressorbits may be programmed in an aggressor reference portion 332 of memoryarray 431. At diamond 625, a determination may be made as to whether aplurality of data is to be programmed in array portion 431. If so, thenprocess 600 may proceed to block 630 where the second known sequence ofaggressor bits may be re-programmed in the aggressor reference portion332 while the data may be programmed in array portion 431.

In one implementation, a counter value may be stored in memory 300,wherein the counter value may represent a number of times that arrayportion 431 is programmed or re-programmed. Thus, upon or afterprogramming or re-programming block 630, process 600 may proceed toblock 640 where such a counter value may be incremented by one torepresent the re-programming.

In one implementation, if a counter value exceeds a particular thresholdnumber, as determined at diamond 645, then process 600 may proceed toblock 650. At block 650, a determination of a likelihood as to whetherthe PV bits are proximity-disturbed may be based, at least in part, onsuch a counter value. One reason that proximity-disturbed may be based,at least in part, on a counter value may be that as the frequency ornumber of times of refreshing the state of a PCM cell increases, so maythe likelihood of occurrence of a program-disturb event. As mentionedabove, a program-disturb event may be induced by increasing ambienttemperatures of a memory array, for example. Of course, such details ofprocess 600 are merely examples, and claimed subject matter is not solimited.

FIG. 7 is a flow diagram of a process 700 to correct erroneous programstates, according to an embodiment. For example, process 700 may beperformed upon or after performing process 600. At block 710, a processmay be performed to read at least one PV bit of a PV reference portionof a memory array. At block 720, a process to correct erroneous programstates stored in one or more cells of a memory array may comprisemeasuring a shift of cell current for a particular reference voltage toread the one or more memory cells. For example, a proximity-disturbevent may bring about such erroneous program states. At block 730, aprocess to correct erroneous program states may further compriseadjusting reference currents by adding or subtracting current deltasbased, at least in part, on the measured cell current shift of referencevoltages. Such adding or subtracting current deltas may allow forcompensating for proximity-disturb effects. Of course, such details ofprocess 700 are merely examples, and claimed subject matter is not solimited.

FIG. 8 is a flow diagram of a process 800 to correct erroneous programstates, according to another embodiment. For example, such a process tocorrect erroneous program states may be performed in response toexceeding a threshold bit error rate (BER). At block 810, a process maybe performed to read one or more cells of a memory array. Such a readprocess may involve error correction code (ECC) techniques, for example.Accordingly, at diamond 815 a determination may be made as to whether anumber of read errors, which may be detected by ECC techniques whilereading one or more cells of a memory array, is greater than a thresholdnumber of errors. For example, such a threshold may correspond to anability of a particular ECC technique to correct two errors. If such athreshold (e.g., two) is exceeded, then process 800 may proceed to block820, where at least one PV bit of a PV reference portion of a memoryarray may be read. At block 830, a process to correct erroneous programstates detected by ECC may comprise measuring a shift of cell currentfor a particular reference voltage to read the one or more memory cells.As explained above, a proximity-disturb event may bring about sucherroneous program states. At block 840, a process to correct erroneousprogram states may further comprise adjusting reference currents byadding or subtracting current deltas based, at least in part, on themeasured cell current shift of reference voltages. Such adding orsubtracting current deltas may allow for compensating forproximity-disturb effects, as discussed above. Of course, such detailsof process 800 are merely examples, and claimed subject matter is not solimited.

FIG. 9 is a schematic diagram illustrating an embodiment of a computingsystem 900 including a memory device 910. Such a computing device maycomprise one or more processors, for example, to execute an applicationor other code. For example, memory device 910 may comprise memory array100, shown in FIG. 1. A computing device 904 may be representative ofany device, appliance, or machine that may be configurable to managememory device 910. Memory device 910 may include a memory controller 915and a memory 922, which may comprise PCM, for example. By way of examplebut not limitation, computing device 904 may include: one or morecomputing devices or platforms, such as, e.g., a desktop computer, alaptop computer, a workstation, a server device, or the like; one ormore personal computing or communication devices or appliances, such as,e.g., a personal digital assistant, mobile communication device, or thelike; a computing system or associated service provider capability, suchas, e.g., a database or information storage service provider/system; orany combination thereof.

It is recognized that all or part of the various devices shown in system900, and the processes and methods as further described herein, may beimplemented using or otherwise including hardware, firmware, software,or any combination thereof. Thus, by way of example but not limitation,computing device 904 may include at least one processing unit 920 thatis operatively coupled to memory 922 through a bus 940 and a host ormemory controller 915.

Processing unit 920 is representative of one or more circuitsconfigurable to perform at least a portion of an information computingprocedure or process. By way of example but not limitation, processingunit 920 may include one or more processors, controllers,microprocessors, microcontrollers, application specific integratedcircuits, digital signal processors, programmable logic devices, fieldprogrammable gate arrays, and the like, or any combination thereof.Processing unit 920 may include an operating system configured tocommunicate with memory controller 915. Such an operating system may,for example, generate commands to be sent to memory controller 915 overbus 940. Such commands may comprise read or write commands. In responseto a write command, for example, memory controller 915 may program afirst known sequence of bits to a first portion of a memory array,program a second known sequence of bits to a second portion of thememory array, re-program the second known sequence of bits to the secondportion while programming data to a third portion of the memory array,and determine a likelihood as to whether the first known sequence ofbits in the first portion is proximity-disturbed by the re-programming.In one implementation, processing unit 920 may provide a first andsecond known sequences of bits to memory controller 915, for example.

Of course, such details of a portion of memory are merely examples, andclaimed subject matter is not so limited.

Memory 922 is representative of any information storage mechanism.Memory 922 may include, for example, a primary memory 924 or a secondarymemory 926. Primary memory 924 may include, for example, a random accessmemory, read only memory, etc. While illustrated in this example asbeing separate from processing unit 920, it should be understood thatall or part of primary memory 924 may be provided within or otherwiseco-located/coupled with processing unit 920.

Secondary memory 926 may include, for example, the same or similar typeof memory as primary memory or one or more information storage devicesor systems, such as, for example, a disk drive, an optical disc drive, atape drive, a solid state memory drive, etc. In certain implementations,secondary memory 926 may be operatively receptive of, or otherwiseconfigurable to couple to, a computer-readable medium 928.Computer-readable medium 928 may include, for example, any medium thatcan carry or make accessible information, code, or instructions for oneor more of the devices in system 900. Computing device 904 may include,for example, an input/output 932. Input/output 932 is representative ofone or more devices or features that may be configurable to accept orotherwise introduce human or machine inputs, or one or more devices orfeatures that may be configurable to deliver or otherwise provide forhuman or machine outputs. By way of example but not limitation,input/output device 932 may include an operatively configured display,speaker, keyboard, mouse, trackball, touch screen, data port, etc.

It will, of course, be understood that, although particular embodimentshave just been described, claimed subject matter is not limited in scopeto a particular embodiment or implementation. For example, oneembodiment may be in hardware, such as implemented on a device orcombination of devices, for example. Likewise, although claimed subjectmatter is not limited in scope in this respect, one embodiment maycomprise one or more articles, such as a storage medium or storage mediathat may have stored thereon instructions capable of being executed by aspecific or special purpose system or apparatus, for example, to lead toperformance of an embodiment of a method in accordance with claimedsubject matter, such as one of the embodiments previously described, forexample. However, claimed subject matter is, of course, not limited toone of the embodiments described necessarily. Furthermore, a specific orspecial purpose computing platform may include one or more processingunits or processors, one or more input/output devices, such as adisplay, a keyboard or a mouse, or one or more memories, such as staticrandom access memory, dynamic random access memory, flash memory, or ahard drive, although, again, claimed subject matter is not limited inscope to this example.

The terms, “and” and “or” as used herein may include a variety ofmeanings that will depend at least in part upon the context in which itis used. Typically, “or” if used to associate a list, such as A, B or C,is intended to mean A, B, and C, here used in the inclusive sense, aswell as A, B or C, here used in the exclusive sense. Embodimentsdescribed herein may include machines, devices, engines, or apparatusesthat operate using digital signals. Such signals may comprise electronicsignals, optical signals, electromagnetic signals, or any form of energythat provides information between locations.

In the preceding description, various aspects of claimed subject matterhave been described. For purposes of explanation, specific numbers,systems, or configurations may have been set forth to provide a thoroughunderstanding of claimed subject matter. However, it should be apparentto one skilled in the art having the benefit of this disclosure thatclaimed subject matter may be practiced without those specific details.In other instances, features that would be understood by one of ordinaryskill were omitted or simplified so as not to obscure claimed subjectmatter.

While there has been illustrated and described what are presentlyconsidered to be example embodiments, it will be understood by thoseskilled in the art that various other modifications may be made, andequivalents may be substituted, without departing from claimed subjectmatter. Additionally, many modifications may be made to adapt aparticular situation to the teachings of claimed subject matter withoutdeparting from the central concept described herein. Therefore, it isintended that claimed subject matter not be limited to the particularembodiments disclosed, but that such claimed subject matter may alsoinclude all embodiments falling within the scope of the appended claims,and equivalents thereof.

What is claimed is:
 1. A method for operating a memory device,comprising: reading a plurality of memory cells of a memory array;determining a total number of read errors in reading the plurality ofmemory cells; and adjusting reference read currents if the total numberof read errors exceeds an error threshold, wherein adjusting referenceread currents comprises: reading a reference memory cell; determining acurrent shift for the reference memory cell; and adjusting read currentsfor other memory cells of the memory array by a current delta based, atleast in part, on the current shift.
 2. The method of claim 1, whereinadjusting read currents comprises adding or subtracting the currentdelta from a reference cell current to determine states of the othermemory cells.
 3. The method of claim 1, wherein the reference memorycell has a predetermined state, wherein determining the current shiftcomprises determining a difference between an expected cell current andan actual cell current for the reference memory cell at a referencevoltage.
 4. The method of claim 3, wherein the predetermined state ofthe reference memory cell is an amorphous state.
 5. The method of claim1, wherein the plurality of memory cells store a known sequence of bits.6. The method of claim 5, further comprising, before reading theplurality of memory cells, programming another plurality of memory cellsneighboring the plurality of memory cells.
 7. The method of claim 6,wherein reading the plurality of memory cells is performed afterprogramming the other plurality of memory cells neighboring theplurality of memory cells.
 8. The method of claim 6, wherein theplurality of memory cells are disposed on a wordline and the otherplurality of memory cells are disposed on another wordline, wherein thewordline is immediately adjacent the other wordline.
 9. A memory device,comprising: a controller configured to: read a plurality of memory cellsof a memory array; determine a total number of read errors in readingthe plurality of memory cells; and adjust reference read currents if thetotal number of read errors exceeds an error threshold, whereinadjusting reference read currents comprises: reading a reference memorycell; determining a current shift for the reference memory cell; andadjusting read currents for other memory cells of the memory array by acurrent delta based, at least in part, on the current shift.
 10. Thememory device of claim 9, wherein the memory array is a phase changememory (PCM) array.
 11. The memory device of claim 9, wherein thereference memory cell is located in a memory buffer.
 12. The memorydevice of claim 9, wherein the controller is configured to refreshanother plurality of memory cells neighboring the plurality of memorycells before reading the plurality of memory cells.
 13. The memorydevice of claim 9, wherein the controller is configured to refreshanother plurality of memory cells neighboring the plurality of memorycells before reading the plurality of memory cells.
 14. The memorydevice of claim 13, wherein the plurality of memory cells stores a knownsequence of bits and the other plurality of memory cells are refreshedwith another known sequence of bits.
 15. The memory device of claim 14,wherein the plurality of memory cells and the other plurality of memorycells are disposed on directly neighboring word lines.
 16. The memorydevice of claim 9, wherein the controller is configured to adjust readcurrents by adding or subtracting the current delta from a referencecell current to determine states of the other memory cells.
 17. Asystem, comprising: a memory device comprising a controller configuredto: read a plurality of memory cells of a memory array; determine atotal number of read errors in reading the plurality of memory cells;and adjust reference read currents if the total number of read errorsexceeds an error threshold, wherein adjusting reference read currentscomprises: reading a reference memory cell; determining a current shiftfor the reference memory cell; and adjusting read currents for othermemory cells of the memory array by a current delta based, at least inpart, on the current shift.
 18. The system of claim 7, wherein thesystem is a computer system.
 19. The system of claim 17, wherein thememory cells are phase change memory cells.
 20. The system of claim 17,wherein the controller is configured to adjust read currents by addingor subtracting the current delta from a reference cell current todetermine states of the other memory cells.